package model.beans;


import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import model.dao.ConsertoDAO;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Juliane Chaerki
 */
public class JavaMailApp {
    public JavaMailApp(){};
    
      public void enviaEmail(Conserto conserto) {
            Properties props = new Properties();
            /** Parâmetros de conexão com servidor Gmail */
            props.put("mail.smtp.host", "smtp.gmail.com");
            props.put("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.port", "465");

            Session session = Session.getDefaultInstance(props,
                        new javax.mail.Authenticator() {
                             @Override
                             protected PasswordAuthentication getPasswordAuthentication() 
                             {
                                   return new PasswordAuthentication("naotebukconsertos@gmail.com", "naotebuk2014");
                             }
                        });

            /** Ativa Debug para sessão */
            session.setDebug(true);

            try {

                  Message message = new MimeMessage(session);
                  message.setFrom(new InternetAddress("naotebukconsertos@gmail.com")); //Remetente

                  ConsertoDAO dao = new ConsertoDAO();
                  String email = dao.email(conserto.getIdConserto());
                  
                  Address[] toUser = InternetAddress //Destinatário(s)
                             .parse(email);  

                  message.setRecipients(Message.RecipientType.TO, toUser);
                  message.setSubject("Conserto efetivado");//Assunto
                  message.setText("A Nãotebuk informa que o seu pedido número " + conserto.getPedido().getIdPedido() + " foi consertado com sucesso!\nFavor comparecer em nossa loja para retirar o seu produto.\nAtt,\nNãotebuk.");
                  /**Método para enviar a mensagem criada*/
                  Transport.send(message);

                  //System.out.println("Feito!!!");

             } catch (Exception e) {
                  throw new RuntimeException(e);
            }
      }
}